# 创建队列
from multiprocessing import Queue
import traceback

if __name__ == "__main__":
    q = Queue(3)  # 初始化一个队列，容量为3
    q.put("message 1")
    q.put("message 2")
    print(q.full())  # 队列是否已满
    q.put("message 3")
    print(q.full())  # 队列是否已满

    try:
        q.put("message 4", True, 2)  # 当队列满时，会以阻塞的方式且最长支持2s等待插入队列
    except:
        print("队列已满")

    try:
        q.put_nowait("message 5")  # 以非阻塞方式插入队列
    except Exception:
        traceback.print_exc()
        print("队列已满")

if not q.empty():
    print("-------从队列读取消息------")
    for i in range(3):
        print(q.get_nowait())  # 从队列读消息

if not q.full():
    q.put_nowait("message 6")  # 队列插入消息
